#ifndef _CAMERA_H_
#define _CAMERA_H_

#include <d3d9.h>
#include <d3dx9.h>
#include "Vector3.h"

#pragma once
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")

class VCamera
{
public:
	VCamera(void);
	~VCamera(void);
	
	D3DXVECTOR3 m_v3Position;

	void Init();
	void Update();
	void Release();

	void MoveX(float fDistAmount);
	void MoveY(float fDistAmount);
	void MoveZ(float fDistAmount);

	void MoveForward(float fDistAmount);
	void MoveBackward(float fDistAmount);
	void MoveLeft(float fDistAmount);
	void MoveRight(float fDistAmount);

	void RotateX(float fAngleAmount);
	void RotateY(float fAngleAmount);
	void RotateZ(float fAngleAmount);

	float GetAngleX();
	float GetAngleY();
	float GetAngleZ();

private:
	float m_fAngleX;
	float m_fAngleY;
	float m_fAngleZ;
	
    D3DXMATRIX m_matView;    // the view transform matrix

};
#endif